// 试试深浅小队作品
// Created by Tong on 2020/10/25.
//

#include <iostream>

#include "GRDECLGrid.h"
#include "MeshInterpolation.h"

int main(int argc, char *argv[])
{
    if(argc<=1)
    {
        std::cout<<"At least one argument is required!"<<std::endl;
        return 1;
    }
    // 输入文件1文件名
    std::string GRDECLFile(argv[1]);
    std::cout<<"input file:"<<GRDECLFile<<std::endl;
    // 输入文件1构造GRDECL原始关键字数据（解析GRDECL文件）
    GRDECLRawData rawData(GRDECLFile);
    // 由输入文件的GRDECL关键字数据构造网格
    GRDECLGrid grdeclGrid(rawData);
    // 输出输入文件的vtk可视化文件

    
    grdeclGrid.vtkCellWriter("GRDECLGrid.vtk");
    // 输出断层面几何数据
    grdeclGrid.vtkFaultFaceWriter("GRDECLFaultFace.vtk");
    system("pause for memory check");
    // 全六面体分解网格
    grdeclGrid.decomposeAllHexCell();
    // 输出全六面体分解后网格几何
    grdeclGrid.vtkHexCellWriter("GRDECLHexGrid.vtk");
    system("pause for memory check");
    // 全四面体分解网格
    grdeclGrid.decomposeAllTetCell();
    // 输出全四面体分解后网格几何
    grdeclGrid.vtkTetCellWriter("GRDECLTetGrid.vtk");
    system("pause for memory check");
    // 四面体-金字塔-六面体混合网格分解
    grdeclGrid.decomposeCell();
    // 输出混合分解后网格几何
    grdeclGrid.vtkDecomposeCellWriter("GRDECLDecomposeGrid.vtk");

    return 0;
}
